Skip to content

congr: add congr pat and congr * variants#1016

Merged
strub merged 1 commit into
mainfrom
congr-pattern
Jun 1, 2026
Merged

congr: add congr pat and congr * variants#1016
strub merged 1 commit into
mainfrom
congr-pattern

Conversation

@strub
Copy link
Copy Markdown
Member

@strub strub commented May 26, 2026

`congr pat` requires the pattern to match both sides of the goal
equality (or iff); each pattern variable yields one subgoal equating
its bindings on the two sides. `congr *` walks both sides in lock-step
without any reduction, emitting one subgoal per pair of differing
positions. Both variants are first-order (binders are opaque, matching
the existing `congr`'s behavior).

Comment thread src/ecHiGoal.ml
Comment thread src/ecHiGoal.ml
strub added a commit that referenced this pull request Jun 1, 2026
[t_congr_from_skeleton], [t_congr_pattern] and [t_congr_star] now live
in [EcLowGoal] alongside [t_congr] and take only OCaml-level data
(forms, idents, unienv). [EcHiGoal] keeps only the AST-elaboration
wrappers. Same external semantics; reviewer feedback on PR #1016.
`congr pat` requires the pattern to match both sides of the goal
equality (or iff); each pattern variable yields one subgoal equating
its bindings on the two sides. `congr *` walks both sides in lock-step
without any reduction, emitting one subgoal per pair of differing
positions. Both variants are first-order (binders are opaque, matching
the existing `congr`'s behavior).
@strub strub enabled auto-merge June 1, 2026 18:07
@strub strub added this pull request to the merge queue Jun 1, 2026
Merged via the queue into main with commit c65e627 Jun 1, 2026
19 checks passed
@strub strub deleted the congr-pattern branch June 1, 2026 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants